在離線環境中,在 Visual Studio 中使用本機 NuGet 開發
TLDR
- 離線環境應避免直接引用 DLL,建議改用「本機 NuGet 套件來源」進行管理,以確保相依性與版本正確。
- 可透過 Visual Studio 的「套件來源」設定,將本機資料夾加入為 NuGet 來源。
- 使用
nuget add指令可將自定義套件發佈至本機來源資料夾。 - 若需擴充來自 NuGet.org 的套件,應從有網路電腦的
%userprofile%\.nuget\packages目錄複製套件,而非從專案的packages資料夾複製。 - .NET Framework 的
packages.config專案目錄不包含完整 NuGet 資料,不可作為來源備份。
NuGet 離線套件設定
什麼情況下會遇到這個問題:當開發環境受到網路限制,無法連線至 NuGet.org 進行套件還原或安裝時。
在 Visual Studio 中,可以將本機資料夾設定為 NuGet 套件來源,以解決離線開發的需求:
- 開啟 Visual Studio 的 NuGet 套件管理設定。
- 在「套件來源」頁面中,點擊右上角的「+」按鈕。
- 指定一個本機資料夾路徑作為來源。
- 在安裝套件時,於 NuGet 管理介面的右上角選擇該來源即可。

擴充本機套件
什麼情況下會遇到這個問題:當需要將自行開發的 Class Library 封裝成 NuGet 套件,並提供給離線環境使用時。
若要將自定義套件發佈至本機來源資料夾,請使用 nuget.exe 執行以下指令:
bash
nuget add {packagePath} -Source {sourcePath}{packagePath}:為.nupkg檔案的路徑。{sourcePath}:為設定好的本機 NuGet 來源資料夾路徑。
詳細指令說明可參考 add 命令 (NuGet CLI)。
擴充來自 NuGet 的套件
什麼情況下會遇到這個問題:當專案需要使用 NuGet.org 上的公開套件,但開發環境無法連線至網際網路時。
若要將公開套件移至離線環境,請遵循以下步驟:
- 在有網路的電腦上安裝該套件。
- 前往 Windows 的套件快取路徑:
%userprofile%\.nuget\packages。 - 將對應的套件資料夾複製並放置到離線環境的本機 NuGet 來源資料夾中。
WARNING
當使用 .NET Framework 安裝 NuGet 套件時,預設是使用 packages.config,此時在專案根目錄會有一個 packages 的資料夾。請注意,此處的套件不包含完整的 NuGet 資料,切勿從此處複製到設定的本機套件來源裡。
異動歷程
- 初版文件建立。